//
// Created by 张易生 on 2022/1/12.
//

#include "ZYSFrameQueue.h"

ZYSFrameQueue::ZYSFrameQueue(ZYSPlayStatus *playStatus) {
//    this->playStatus = playStatus;
//    pthread_mutex_init(&mutexFrame, NULL);
//    pthread_cond_init(&condFrame, NULL);

}

ZYSFrameQueue::~ZYSFrameQueue() {

}

int ZYSFrameQueue::putAVFrame(AVFrame *frame) {
//    pthread_mutex_lock(&mutexFrame);
//
//    queueFrame.push(frame);
//    if(LOG_DEBUG){
//        LOGD("放入一个AVFrame到队里里面， 个数为：%d", queueFrame.size());
//    }
//    pthread_cond_signal(&condFrame);
//    pthread_mutex_unlock(&mutexFrame);

    return 0;
}

int ZYSFrameQueue::getAVFrame(AVFrame *frame) {
//    pthread_mutex_lock(&mutexFrame);
//
//    while(playStatus != nullptr && !playStatus->exit){
//        if(queueFrame.size() > 0){
//            AVFrame *avFrame =  queueFrame.front();
//            if(av_packet_ref(frame, avFrame) == 0){
//                queueFrame.pop();
//            }
//            av_frame_free(&avFrame);
//            av_free(avFrame);
//            avFrame = nullptr;
//            if(LOG_DEBUG){
//                LOGD("从队列里面取出一个AVpacket，还剩下 %d 个", queueFrame.size());
//            }
//            break;
//        } else{
//            pthread_cond_wait(&condPacket, &mutexPacket);
//        }
//    }
//    pthread_mutex_unlock(&mutexPacket);
    return 0;
}

int ZYSFrameQueue::getQueueSize() {
    return 0;
}
